package controladores;

import interfaces.AdministradorArticulo;
import interfaces.AdministradorLog;
import interfaces.AdministrarUsuario;
import interfaces.FacadeStateless;

import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import dtos.ArticuloDTO;
import dtos.LogDTO;
import dtos.VentaDTO;
import entities.Articulo;
import entities.ConfiguracionLog;

/**
 * Session Bean implementation class FacadeStatelessBean
 */
@Stateless
public class FacadeStatelessBean implements FacadeStateless {
 
	@EJB
	AdministradorArticulo adminArt;
	
	@EJB
	AdministrarUsuario adminUsr;
	
	@EJB
	AdministradorLog adminLog;
	
    /**
     * Default constructor. 
     */
    public FacadeStatelessBean() {
    }

	@Override
	public void registrarArticulo(Articulo a) {
		adminArt.registrarArticulo(a);
	}

	@Override
	public List<ArticuloDTO> obtenerArticulos() {
		return adminArt.obtenerArticulos();
	}
	
	public String login (String usuario, String password){
		return adminUsr.login(usuario, password); 
	}

	@Override
	public void registrarRanking(List<ArticuloDTO> articulosDTO) {
		adminArt.registrarRanking(articulosDTO);
	}
	
	@Override
	public List<VentaDTO> obtenerVentas(String login) {
		return adminUsr.obtenerVentas(login);
	}

	@Override
	public List<ArticuloDTO> obtenerArticulosPorOrden(String tipo, String columna, String orden) {
		return adminArt.obtenerArticulosPorOrden(tipo, columna, orden);
	}

	@Override
	public void establecerConfiguracionLog(Integer idGrupo, String urlDestino, String configuracion, String ip, String puerto) {
		adminLog.establecerConfiguracionLog(idGrupo, urlDestino, configuracion, ip, puerto);
	}
	
	 public ConfiguracionLog obtenerConfiguracionActualLog() {
		 return adminLog.obtenerConfiguracionActualLog();
	 }
	 
	 public  String toJavascriptArray(List<String> lista){
		 return adminArt.toJavascriptArray(lista);
	 }

	@Override
	public void enviarLogSegunConfig(String mensaje) {
		adminLog.enviarLogSegunConfig(mensaje);	
	}

	@Override
	public List<ArticuloDTO> busqueda(String valor, String tipo) {
		return adminArt.busqueda(valor,tipo);
	}

}
